import { reqGoodsList } from '../../../api/goods'
Page({
  /**
   * 页面的初始数据
   */
  data: {
    goodsList: [], // 商品列表数据
    isFinish: false, // 判断数据是否加载完毕
    total: 0,
    isLoading: false, // 判断数据是否记载完毕,用来防止用户多次上拉
    requestData: {
      page: 1,
      limit: 10,
      category1Id: '', // 一级分类id
      category2Id: '' // 二级分类id
    }
  },
  // 监听页面的下拉刷新
  onPullDownRefresh() {
    // 将数据进行重置
    this.setData({
      goodsList: [],
      total: 0,
      isFinish: false,
      requestData: { ...this.data.requestData, page: 1 }
    })

    // 重新获取列表数据
    this.getGoodsList()
  },
  getGoodsList() {
    // 标识开始加载
    this.data.isLoading = true
    reqGoodsList(this.data.requestData).then((res) => {
      this.data.isLoading = false // 加载完毕
      const { records, total } = res.data
      this.setData({
        goodsList: [...this.data.goodsList, ...records],
        total: total
      })
    })
  },
  onLoad(options) {
    Object.assign(this.data.requestData, options)
    this.getGoodsList()
  },
  gotoBack() {
    wx.navigateBack()
  },
  // 上拉加载
  onReachBottom() {
    // / 从 data 中解构数据
    const { total, goodsList, requestData, isLoading } = this.data
    let { page } = requestData
    // 还是加载中的话就加载
    if (isLoading) return
    // 判断数据是否加载完毕
    if (total === goodsList.length) {
      // 如果相等，数据数据加载完毕
      // 如果数据加载完毕，需要给用户提示，同时不继续加载下一个数据
      this.setData({
        isFinish: true
      })
      return
    }
    // 页码加1
    this.setData({
      requestData: { ...this.data.requestData, page: page + 1 }
    })
    this.getGoodsList()
  },
  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
    return {
      title: '所有的怦然心动，都是你',
      path: '/pages/index/index',
      imageUrl: '../../../../../assets/images/love.jpg'
    }
  },
  // 分享到朋友圈
  onShareTimeline() {}
})
